package lemar.entidad;
// Generated 09-09-2013 10:52:54 PM by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

/**
 * Proveedor generated by hbm2java
 */
@Entity
@Table(name="proveedor"
    ,catalog="lemar"
)
public class Proveedor  implements java.io.Serializable {


     private Long idProveedor;
     private String nombre;
     private String direccion;
     private String telefono;
     private String productosOferta;
     private Set<Producto> productos = new HashSet<Producto>(0);

    public Proveedor() {
    }

	
    public Proveedor(String nombre, String direccion, String telefono, String productosOferta) {
        this.nombre = nombre;
        this.direccion = direccion;
        this.telefono = telefono;
        this.productosOferta = productosOferta;
    }
    public Proveedor(String nombre, String direccion, String telefono, String productosOferta, Set<Producto> productos) {
       this.nombre = nombre;
       this.direccion = direccion;
       this.telefono = telefono;
       this.productosOferta = productosOferta;
       this.productos = productos;
    }
   
    @Id @GeneratedValue(strategy=IDENTITY)    
    @Column(name="ID_PROVEEDOR", unique=true, nullable=false)
    public Long getIdProveedor() {
        return this.idProveedor;
    }
    
    public void setIdProveedor(Long idProveedor) {
        this.idProveedor = idProveedor;
    }
    
    @Column(name="NOMBRE", nullable=false, length=25)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    @Column(name="DIRECCION", nullable=false, length=256)
    public String getDireccion() {
        return this.direccion;
    }
    
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    
    @Column(name="TELEFONO", nullable=false, length=8)
    public String getTelefono() {
        return this.telefono;
    }
    
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
    
    @Column(name="PRODUCTOS_OFERTA", nullable=false, length=256)
    public String getProductosOferta() {
        return this.productosOferta;
    }
    
    public void setProductosOferta(String productosOferta) {
        this.productosOferta = productosOferta;
    }
@ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
    @JoinTable(name="proveedor_producto", catalog="lemar", joinColumns = { 
        @JoinColumn(name="ID_PROVEEDOR", nullable=false, updatable=false) }, inverseJoinColumns = { 
        @JoinColumn(name="ID_PRODUCTO", nullable=false, updatable=false) })
    public Set<Producto> getProductos() {
        return this.productos;
    }
    
    public void setProductos(Set<Producto> productos) {
        this.productos = productos;
    }




}


